local sk__cuifeng = fk.CreateSkill {

  name = "sk__cuifeng",

  tags = {},

}



sk__cuifeng:addEffect("active", {
  name = "sk__cuifeng",
  anim_type = "offensive",
  card_num = 0,
  target_num = 2,
  prompt = function(self, player, selected_cards, selected_targets)
    if #selected_targets == 0 then
      return "#sk__cuifeng0"
    elseif #selected_targets == 1 then
      return "#sk__cuifeng1:" .. selected_targets[1].id
    elseif #selected_targets == 2 then
      return "#sk__cuifeng2:" .. selected_targets[1].id .. ":" .. selected_targets[2].id
    end
  end,
  can_use = function(self, player)
    return player:usedSkillTimes(sk__cuifeng.name, Player.HistoryPhase) == 0
  end,
  card_filter = Util.FalseFunc,
  target_filter = function(self, player, to_select, selected, selected_cards)
    if #selected == 0 then
      return to_select:getMark("@sk__nizhan") > 0
    else
      return #selected == 1
    end
  end,
  on_use = function(self, room, effect)
    local target1 = effect.tos[1]
    local target2 = effect.tos[2]
    room:removePlayerMark(target1, "@sk__nizhan", 1)
    room:addPlayerMark(target2, "@sk__nizhan", 1)
    room:useVirtualCard("slash", nil, target1, target2, sk__cuifeng.name, true)
  end,
})

return sk__cuifeng
